home *** CD-ROM | disk | FTP | other *** search
/ Sprite 1984 - 1993 / Sprite 1984 - 1993.iso / src / boot / decprom / ds3100.md / RCS / start.s,v < prev   
Text File  |  1990-02-16  |  2KB  |  75 lines

  1. head     1.1;
  2. branch   ;
  3. access   ;
  4. symbols  ;
  5. locks    ; strict;
  6. comment  @@;
  7.  
  8.  
  9. 1.1
  10. date     90.02.16.16.19.39;  author shirriff;  state Exp;
  11. branches ;
  12. next     ;
  13.  
  14.  
  15. desc
  16. @@
  17.  
  18.  
  19.  
  20. 1.1
  21. log
  22. @Initial revision
  23. @
  24. text
  25. @/* start.s -
  26.  *
  27.  *     Contains code that is the first executed at boot time.
  28.  *
  29.  *    Copyright (C) 1989 Digital Equipment Corporation.
  30.  *    Permission to use, copy, modify, and distribute this software and
  31.  *    its documentation for any purpose and without fee is hereby granted,
  32.  *    provided that the above copyright notice appears in all copies.  
  33.  *    Digital Equipment Corporation makes no representations about the
  34.  *    suitability of this software for any purpose.  It is provided "as is"
  35.  *    without express or implied warranty.
  36.  *
  37.  * $Header: /sprite/src/boot/decprom/ds3100.md/RCS/start.s,v 1.1 90/02/16 16:19:07 shirriff Exp $ SPRITE (DECWRL)
  38.  */
  39.  
  40. #include <regdef.h>
  41. #include "kernel/machConst.h"
  42.  
  43. /*
  44.  * Amount to take off of the stack for the benefit of the debugger.
  45.  */
  46. #define START_FRAME    ((4 * 4) + 4 + 4)
  47. #define Init    0xbfc00018
  48.  
  49.     .globl    start
  50. start:
  51.     mtc0    zero, MACH_COP_0_STATUS_REG    # Disable interrupts
  52.     li        sp, MACH_CODE_START - START_FRAME
  53.     la        gp, _gp
  54.     sw        zero, START_FRAME - 4(sp)    # Zero out old ra for debugger
  55.     sw        zero, START_FRAME - 8(sp)    # Zero out old fp for debugger
  56.     jal        main                # main(argc, argv, envp)
  57.     li        a0, Init            # done, so call prom
  58.     j        a0
  59.  
  60.     .globl    Boot_Transfer
  61. Boot_Transfer:
  62.     mtc0    zero, MACH_COP_0_STATUS_REG    # Disable interrupts
  63.     li        sp, MACH_CODE_START - START_FRAME
  64.     la        gp, _gp
  65.     sw        zero, START_FRAME - 4(sp)    # Zero out old ra for debugger
  66.     sw        zero, START_FRAME - 8(sp)    # Zero out old fp for debugger
  67.     move    t0,a0                #shift arguments down
  68.     move    a0,a1
  69.     move    a1,a2
  70.     move    a2,a3
  71.     jal        t0                # Jump to routine
  72.     li        a0, Init            # done, so call prom
  73.     j        a0
  74. @
  75.